package com.skilltrackedu.exception.enums;


import com.skilltrackedu.exception.ErrorInfo;

/*
 *定义了一些通用的错误类型和对应的错误信息的枚举类
 *用于在整个应用程序中统一错误处理标准
 * @author LENOVO
 * @version 1.0
 * @date 2025/3/20 下午1:26
 */
public enum CommonError implements ErrorInfo {

    // 定义未知错误类型的枚举常量
    UNKOWN_ERROR("执行过程异常，请重试。"),
    // 定义参数错误类型的枚举常量
    PARAMS_ERROR("非法参数"),
    // 定义对象为空错误类型的枚举常量
    OBJECT_NULL("对象为空"),
    // 定义查询结果为空错误类型的枚举常量
    QUERY_NULL("查询结果为空"),
    // 定义请求参数为空错误类型的枚举常量
    REQUEST_NULL("请求参数为空");


    /*
    CommonError.UNKOWN_ERROR("执行过程异常，请重试。")
    枚举类.自己的枚举常量就相当于创建了一个自己的枚举对象
    CommonError.UNKOWN_ERROR("执行过程异常，请重试。") == new CommonError("执行过程异常，请重试。")
    此时("执行过程异常，请重试。")就会成为构造函数中传入的String errMessage参数
    给私有变量errMessage赋值
    此时CommonError.UNKOWN_ERROR.getErrMessage()就可以获取到"执行过程异常，请重试。"
    而不是CommonError.getErrMessage()
    */


    // 错误信息的私有变量
    private String errMessage;

    // 构造函数，初始化错误信息
    CommonError(String errMessage) {
        this.errMessage = errMessage;
    }

    // 获取错误信息的方法
    public String getErrMessage() {
        return errMessage;
    }

    // 设置错误信息的方法
    public void setErrMessage(String errMessage) {
        this.errMessage = errMessage;
    }
}
